home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-9.10-netbook-remix-PL.iso / casper / filesystem.squashfs / usr / include / drm / drm_sarea.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  3KB  |  83 lines

  1. /**
  2.  * \file drm_sarea.h
  3.  * \brief SAREA definitions
  4.  *
  5.  * \author Michel D├ñnzer <michel@daenzer.net>
  6.  */
  7.  
  8. /*
  9.  * Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas.
  10.  * All Rights Reserved.
  11.  *
  12.  * Permission is hereby granted, free of charge, to any person obtaining a
  13.  * copy of this software and associated documentation files (the "Software"),
  14.  * to deal in the Software without restriction, including without limitation
  15.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  16.  * and/or sell copies of the Software, and to permit persons to whom the
  17.  * Software is furnished to do so, subject to the following conditions:
  18.  *
  19.  * The above copyright notice and this permission notice (including the next
  20.  * paragraph) shall be included in all copies or substantial portions of the
  21.  * Software.
  22.  *
  23.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  24.  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  25.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  26.  * TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
  27.  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  28.  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  29.  * OTHER DEALINGS IN THE SOFTWARE.
  30.  */
  31.  
  32. #ifndef _DRM_SAREA_H_
  33. #define _DRM_SAREA_H_
  34.  
  35. #include "drm.h"
  36.  
  37. /* SAREA area needs to be at least a page */
  38. #if defined(__alpha__)
  39. #define SAREA_MAX                       0x2000U
  40. #elif defined(__ia64__)
  41. #define SAREA_MAX                       0x10000U    /* 64kB */
  42. #else
  43. /* Intel 830M driver needs at least 8k SAREA */
  44. #define SAREA_MAX                       0x2000U
  45. #endif
  46.  
  47. /** Maximum number of drawables in the SAREA */
  48. #define SAREA_MAX_DRAWABLES        256
  49.  
  50. #define SAREA_DRAWABLE_CLAIMED_ENTRY    0x80000000
  51.  
  52. /** SAREA drawable */
  53. struct drm_sarea_drawable {
  54.     unsigned int stamp;
  55.     unsigned int flags;
  56. };
  57.  
  58. /** SAREA frame */
  59. struct drm_sarea_frame {
  60.     unsigned int x;
  61.     unsigned int y;
  62.     unsigned int width;
  63.     unsigned int height;
  64.     unsigned int fullscreen;
  65. };
  66.  
  67. /** SAREA */
  68. struct drm_sarea {
  69.     /** first thing is always the DRM locking structure */
  70.     struct drm_hw_lock lock;
  71.     /** \todo Use readers/writer lock for drm_sarea::drawable_lock */
  72.     struct drm_hw_lock drawable_lock;
  73.     struct drm_sarea_drawable drawableTable[SAREA_MAX_DRAWABLES];    /**< drawables */
  74.     struct drm_sarea_frame frame;    /**< frame */
  75.     drm_context_t dummy_context;
  76. };
  77.  
  78. typedef struct drm_sarea_drawable drm_sarea_drawable_t;
  79. typedef struct drm_sarea_frame drm_sarea_frame_t;
  80. typedef struct drm_sarea drm_sarea_t;
  81.  
  82. #endif                /* _DRM_SAREA_H_ */
  83.